<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Noticia extends CI_Controller {

	public $layout = 'default';
	public $area = 'noticia';
	
	public function __construct (){
		
		parent::__construct();
		$this->load->library(array('form_validation','session', 'restrict_page', 'datas'));
		$this->load->helper('url');
		$this->load->model('Noticia_model','',TRUE);
		$this->load->model('Grid_model','',TRUE);
		$this->load->model('Campo_model','',TRUE);

	}
	
	public function index(){
		
		$data['titulo'] ='Notícias';
		
		$data['link_add']  = $this->Campo_model->make_link($this->area.'/add', 'adicionar');
		
		$objetos = $this->Noticia_model->list_all()->result();

		$this->load->library('table');
		$this->table->set_empty("&nbsp;");
		$this->table->set_heading('Título', 'Ações');
		
		foreach ($objetos as $objeto){
			
			
			if($objeto->ativo == 'N'){
				$link_publicacao  = $this->Campo_model->make_link($this->area.'/publicacao/'.$objeto->cod_noticia, 'publicar');
			}else{
				$link_publicacao  = $this->Campo_model->make_link($this->area.'/publicacao/'.$objeto->cod_noticia, 'despublicar');
			}
			
			$link_alterar  = $this->Campo_model->make_link($this->area.'/update/'.$objeto->cod_noticia, 'alterar');
			
			$link_excluir  = $this->Campo_model->make_link($this->area.'/delete/'.$objeto->cod_noticia, 'deletar');
				
			$this->table->add_row(
						$objeto->titulo,
						$link_publicacao . "&nbsp;".
						$link_alterar . "&nbsp;".
						$link_excluir
			);
		}

		$tmpl = $this->Grid_model->monta_tabela_list();
		$this->table->set_template($tmpl);
		
		$data['table'] = $this->table->generate();

		$this->load->view($this->area.'/'.$this->area.'_list', $data);
		
	}
	
	
	public function add() {
	
		$this->load->library(array('form_validation'));
		$this->form_validation->set_error_delimiters('<div class="error_field">', '</div>');
	
		$data['titulo'] = 'Notícia';
		$data['subtitulo'] = 'Novo registro';
	
		$data['link_back']  = $this->Campo_model->make_link('', 'voltar');
		$data['link_salvar'] = $this->Campo_model->make_link($this->area.'/add', 'salvar');
		$data['link_cancelar']  = $this->Campo_model->make_link('', 'cancelar');
	
		$data['form_action'] = site_url($this->area.'/add/');
		$data['mensagem'] = '';
	
		//constroe os campos que serao mostrados no formulario
		$this->load->model('Campo_model','',TRUE);
		$data['campoTitulo'] = $this->Campo_model->noticia('campoTitulo');
		$data['contador'] = 100;
		$data['campoData'] = $this->Campo_model->noticia('campoData');
		$data['campoRedacao'] = $this->Campo_model->noticia('campoRedacao');
			
		if ($this->form_validation->run($this->area."/add") == FALSE) {
			
			$this->load->view($this->area . "/" . $this->area.'_edit', $data);
			
		} else {
	
			$objeto_do_form = array(
					'cod_usuario' => $this->session->userdata('id'),
					'titulo' => $this->input->post('campoTitulo'),
					//'data' => $this->input->post('campoData'),
					'data' => $this->datas->trata_dataDoFormParaBanco($this->input->post('campoData')),
					'texto' => $this->input->post('campoRedacao'),
						
			);

				// Salva o registro
				$this->Noticia_model->save($objeto_do_form);
	
				$this->js_custom = 'var sSecs = 4;
                                function getSecs(){
                                    sSecs--;
                                    if(sSecs<0){ sSecs=59; sMins--; }
                                    $("#clock1").html(sSecs);
                                    setTimeout("getSecs()",1000);
                                    var s =  $("#clock1").html();
                                    if (s == "1"){
                                        window.location.href = "' . site_url('/'.$this->area) . '";
                                    }
                                }
                                ';

				$data['mensagem'] = "<br /> Redirecionando em... ";
				$data['mensagem'] .= '<span id="clock1"> ' . "<script>setTimeout('getSecs()',1000);</script> </span>";
				$data['link1'] = '';
				$data['link2'] = '';
	
				$this->load->view('success', $data);

		}
	
	}
	
	
	public function update($id, $disabled = null) {
		
	
		$this->form_validation->set_error_delimiters('<div class="error_field">', '</div>');
	
		$data['titulo'] = 'Notícia';
		$data['subtitulo'] = 'Edição de registro';
	
		$data['disabled'] = ($disabled != null) ? 'disabled' : '';
		$data['link_back'] = $this->Campo_model->make_link($this->area, 'voltar');
		$data['link_cancelar'] = $this->Campo_model->make_link($this->area, 'cancelar');
		$data['link_salvar'] = $this->Campo_model->make_link($this->area, 'salvar');
	
		$data['form_action'] = site_url($this->area.'/update/'.$id);
		$data['mensagem'] = '';
	
		$obj = $this->Noticia_model->get_by_id($id)->row();
	
		//constroe os campos que serao mostrados no formulario
		$this->load->model('Campo_model','',TRUE);

		$data['campoTitulo'] = $this->Campo_model->noticia('campoTitulo');
		$data['campoTitulo']['value'] = $obj->titulo;
		$data['contador'] = 100 - strlen($obj->titulo);
	
		$data['campoData'] = $this->Campo_model->noticia('campoData');
		$data['campoData']['value'] =  $this->datas->trata_dataDoBancoParaForm($obj->data);

		$data['campoRedacao'] = $this->Campo_model->noticia('campoRedacao');
		$data['campoRedacao']['value'] = $obj->texto;
	

		if ($this->form_validation->run($this->area."/add") == FALSE) {
			$this->load->view($this->area . "/" . $this->area.'_edit', $data);
		} else {
			//cria o objeto com os dados passados via post
	
			$objeto_do_form = array(
					'cod_usuario' => $this->session->userdata('id'),
					'titulo' => $this->input->post('campoTitulo'),
					'data' => $this->datas->trata_dataDoFormParaBanco($this->input->post('campoData')),
					'texto' => $this->input->post('campoRedacao'),
			);
			
				// Salva o registro
				$this->Noticia_model->update($id,$objeto_do_form);
	
				$this->js_custom = 'var sSecs = 4;
                                function getSecs(){
                                    sSecs--;
                                    if(sSecs<0){ sSecs=59; sMins--; }
                                    $("#clock1").html(sSecs);
                                    setTimeout("getSecs()",1000);
                                    var s =  $("#clock1").html();
                                    if (s == "1"){
                                        window.location.href = "' . site_url('/'.$this->area) . '";
                                    }
                                }
                                ';
	
	
				$data['mensagem'] = "<br /> Redirecionando em... ";
				$data['mensagem'] .= '<span id="clock1"> ' . "<script>setTimeout('getSecs()',1000);</script> </span>";
				$data['link1'] = '';
				$data['link2'] = '';
	
				$this->load->view('success', $data);

		}
	
	}
	
	function publicacao($id){
	
		$obj = $this->Noticia_model->get_by_id($id)->row();
	
		if($obj->ativo == 'N'){
			$objeto_do_form = array(
					'ativo' => 'S',
			);
			
		}elseif($obj->ativo == 'S'){
			$objeto_do_form = array(
					'ativo' => 'N',
			);
		}
	
		$this->Noticia_model->update($id, $objeto_do_form);
		
		redirect($this->area);
	}
	
	function delete($id){

		$this->Noticia_model->delete($id);

		redirect($this->area);
	}
		
}
